<?php

/**
 * Базовый класс представлений формы.
 *
 */
abstract class Kernel_Form_View_Abstract {

    /**
     * Отображает форму.
     *
     * @param   Kernel_Action_Form  $form
     */
    public function display(Kernel_Action_Form $form) {
        Application::getResponse()->assign(
            $this->_filter($form->getTemplateData())
        );
    }

    /**
     * Фильтрует параметры, которые будут переданы в ответ.
     *
     * @param   array   $params
     * @return  array
     */
    abstract protected function _filter($params);
}
